Dataset Previews

First, initialize by adding tools and declare floating type

using GriddingMachine
using PkgUtility
using Plots
using Plots.PlotMeasures

ENV["GKSwstype"]="100";
FT = Float32;
# use this to fix the problem in generated preview.jl file
F1 = joinpath(@__DIR__, "../../Artifacts.toml");
F2 = joinpath(@__DIR__, "../../../Artifacts.toml");
GRIDDINGMACHINE_ARTIFACTS = (isfile(F1) ? F1 : F2);

predownload_artifact.(["GPP_MPI_v006_1X_8D", "GPP_VPM_v20_1X_8D",
                       "NPP_MODIS_1X_1Y", "canopy_height_20X_1Y",
                       "clumping_index_12X_1Y", "clumping_index_2X_1Y_PFT",
                       "land_mask_ERA5_4X_1Y", "leaf_area_index_4X_1M",
                       "leaf_chlorophyll_2X_7D", "leaf_traits_2X_1Y",
                       "river_maps_4X_1Y", "SIF_TROPOMI_740_1X_1M",
                       "surface_data_2X_1Y", "tree_density_12X_1Y",
                       "wood_density_2X_1Y"],
                      GRIDDINGMACHINE_ARTIFACTS);
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   
-=#=#   #   #                                                                 

                                                                           0.0%
                                                                           0.1%
                                                                           0.4%
#                                                                          1.5%
####                                                                       5.8%
###########                                                               16.2%
##################                                                        26.3%
#########################                                                 36.0%
################################                                          45.6%
#######################################                                   55.0%
##############################################                            64.8%
#####################################################                     74.3%
############################################################              83.9%
###################################################################       93.4%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

                                                                           0.0%
                                                                           0.2%
                                                                           0.4%
#                                                                          1.5%
####                                                                       5.7%
########                                                                  11.4%
##############                                                            20.6%
#####################                                                     29.8%
######################                                                    31.6%
############################                                              39.3%
#################################                                         46.8%
#####################################                                     51.4%
########################################                                  56.1%
############################################                              61.4%
################################################                          66.8%
###################################################                       72.2%
#######################################################                   77.5%
###########################################################               83.1%
###############################################################           88.7%
###################################################################       94.3%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

######################                                                    30.9%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

                                                                           0.4%
#                                                                          2.7%
###                                                                        4.4%
##########                                                                14.3%
###################################                                       48.7%
######################################################################## 100.0%
┌ Error: Hash Mismatch!
│   Expected sha256:   d883316717c758c69eaca38d413b28a551eefe7d30cdad0acd93cc082359f641
│   Calculated sha256: a260f9f81c616d495040950d8f2178009245582c2431daa05844c91816c7af71
└ @ Pkg.PlatformEngines /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/PlatformEngines.jl:1248
#=#=#                                                                         
##O#- #                                                                       

                                                                           0.4%
##################################                                        48.6%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

                                                                           1.2%
#####                                                                      7.4%
##########                                                                14.9%
###########################                                               38.6%
######################################################################## 100.0%
┌ Error: Hash Mismatch!
│   Expected sha256:   a6aade7eb54ab16f521b020de46f04c866f44b7c114aaa7e67c0c2f9ea269ded
│   Calculated sha256: c0c3db6ada622a110677b34ccdeb898d939265cc171c9e8d40018e5e936826f7
└ @ Pkg.PlatformEngines /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/PlatformEngines.jl:1248
#=#=#                                                                         

######################################################################## 100.0%
                                                                           1.0%
########################################                                  56.9%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

#                                                                          2.0%
########                                                                  12.5%
#################                                                         23.7%
###############################################                           65.6%
######################################################################## 100.0%
┌ Error: Hash Mismatch!
│   Expected sha256:   e9a849a731469191f366c5d0fcd21aed8c027824c33da5925b989174accfc9f6
│   Calculated sha256: 75ed9c65f80fd9f840fea6c7c5a85ee88c4d46bb5116d389736944f1d71ff2f3
└ @ Pkg.PlatformEngines /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/PlatformEngines.jl:1248
#=#=#                                                                         

#                                                                          1.7%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

##                                                                         3.0%
#############                                                             18.4%
#######################                                                   32.6%
#######################################################################   99.0%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

                                                                           0.2%
                                                                           1.2%
##                                                                         3.1%
######                                                                     8.7%
#####################                                                     30.5%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

                                                                           0.2%
#                                                                          1.5%
##                                                                         3.9%
#####                                                                      8.1%
#####################                                                     29.4%
######################################################################## 100.0%
┌ Error: Hash Mismatch!
│   Expected sha256:   912f3638c440948e14b6aa28a843d3f576da12d838228210f7c2da18eed0123d
│   Calculated sha256: 60fde21883b73ab7132b3c247675c44b18e0f22bbd8e7fb1b9627af8254ed161
└ @ Pkg.PlatformEngines /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/PlatformEngines.jl:1248
#=#=#                                                                         
##O#- #                                                                       

######################################################################## 100.0%
####                                                                       5.8%
################                                                          22.9%
###################################                                       48.6%
################################################################          89.0%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

                                                                           1.0%
####                                                                       6.0%
#########                                                                 13.1%
#############################                                             40.4%
######################################################################## 100.0%
┌ Error: Hash Mismatch!
│   Expected sha256:   fd45618e762c9763efe8d6e5b976efdd2318473d7d22d84f557480974e9d42b3
│   Calculated sha256: 7b61104c7505b592c5bbb48d64e0bd4b73340f850958d23484b49c39860ae0bc
└ @ Pkg.PlatformEngines /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/PlatformEngines.jl:1248
#=#=#                                                                         

#################################################################         90.3%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

                                                                           0.3%
#                                                                          1.9%
####                                                                       6.2%
############                                                              17.6%
#################################################                         69.1%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

                                                                           0.0%
                                                                           0.5%
#                                                                          1.5%
##                                                                         3.0%
###                                                                        5.3%
####                                                                       6.3%
######                                                                     8.4%
#######                                                                   10.5%
########                                                                  11.6%
#########                                                                 13.1%
##########                                                                14.7%
###########                                                               16.1%
############                                                              17.8%
#############                                                             19.4%
###############                                                           20.9%
################                                                          22.9%
#################                                                         24.4%
##################                                                        26.2%
####################                                                      28.0%
#####################                                                     30.0%
######################                                                    31.7%
########################                                                  33.7%
#########################                                                 35.4%
###########################                                               37.5%
###########################                                               38.8%
############################                                              40.3%
##############################                                            41.7%
###############################                                           43.5%
################################                                          44.7%
#################################                                         46.3%
##################################                                        47.8%
###################################                                       49.2%
####################################                                      50.9%
#####################################                                     52.5%
######################################                                    54.1%
########################################                                  56.1%
#########################################                                 57.7%
##########################################                                59.0%
###########################################                               60.8%
############################################                              62.4%
##############################################                            64.4%
###############################################                           66.0%
################################################                          67.8%
##################################################                        69.5%
###################################################                       71.5%
####################################################                      73.3%
######################################################                    75.7%
#######################################################                   77.5%
#########################################################                 79.6%
##########################################################                81.3%
###########################################################               83.1%
#############################################################             84.8%
##############################################################            86.9%
###############################################################           88.9%
#################################################################         91.0%
##################################################################        93.0%
####################################################################      95.3%
######################################################################    97.4%
#######################################################################   99.5%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

                                                                           0.0%
                                                                           0.1%
                                                                           0.3%
                                                                           1.0%
##                                                                         3.7%
#####                                                                      7.2%
#########                                                                 12.6%
############                                                              18.0%
###############                                                           21.3%
#################                                                         23.7%
####################                                                      28.2%
######################                                                    30.9%
########################                                                  33.8%
##########################                                                36.9%
############################                                              40.2%
###############################                                           43.4%
#################################                                         46.6%
####################################                                      50.0%
######################################                                    53.4%
########################################                                  56.8%
###########################################                               60.1%
#############################################                             63.5%
################################################                          66.8%
##################################################                        70.2%
#####################################################                     73.6%
#######################################################                   77.2%
##########################################################                80.6%
############################################################              84.1%
###############################################################           87.7%
#################################################################         91.1%
####################################################################      94.7%
######################################################################    98.1%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

                                                                           0.3%
                                                                           1.4%
###                                                                        4.4%
###########                                                               15.9%
############################################                              61.2%
######################################################################## 100.0%
#=#=#                                                                         
##O#- #                                                                       
##O=#  #                                                                      
#=#=-#  #                                                                     
-#O#- #   #                                                                   

#                                                                          2.8%
###########                                                               16.3%
############################                                              40.0%
######################################################################## 100.0%

Then, define a function to plot the dataset

function preview_data(ds::GriddedDataset{FT}, ind::Int)
    # preview data
    return heatmap(view(ds.data,:,:,ind)',
                   origin="lower",
                   aspect_ratio=1,
                   xticks=[],
                   yticks=[],
                   c=:viridis,
                   size=(700,300),
                   framestyle=:none)
end

function preview_data(ds::GriddedDataset{FT}, ind::Int, clim::Tuple)
    # preview data
    return heatmap(view(ds.data,:,:,ind)',
                   origin="lower",
                   aspect_ratio=1,
                   xticks=[],
                   yticks=[],
                   c=:viridis,
                   clim=clim,
                   size=(700,300),
                   framestyle=:none)
end
preview_data (generic function with 2 methods)

Leaf level datasets

Leaf chlorophyll content

LCH_LUT = load_LUT(LeafChlorophyll{FT}());
mask_LUT!(LCH_LUT, FT[0,Inf]);
LCH_LUT = regrid_LUT(LCH_LUT, Int(size(LCH_LUT.data,2)/180));
anim = @animate for i ∈ 1:size(LCH_LUT.data,3)
    preview_data(LCH_LUT, i, (0,80));
end
gif(anim, fps=5)

Leaf nitrogen content

LNC_LUT = load_LUT(LeafNitrogen{FT}());
mask_LUT!(LNC_LUT, FT[0,Inf]);
LNC_LUT = regrid_LUT(LNC_LUT, Int(size(LNC_LUT.data,2)/180));
preview_data(LNC_LUT, 1)

Leaf phosphorus content

LPC_LUT = load_LUT(LeafPhosphorus{FT}());
mask_LUT!(LPC_LUT, FT[0,Inf]);
LPC_LUT = regrid_LUT(LPC_LUT, Int(size(LPC_LUT.data,2)/180));
preview_data(LPC_LUT, 1)

Specific leaf area

SLA_LUT = load_LUT(LeafSLA{FT}());
mask_LUT!(SLA_LUT, FT[0,Inf]);
SLA_LUT = regrid_LUT(SLA_LUT, Int(size(SLA_LUT.data,2)/180));
preview_data(SLA_LUT, 1)

Vcmax

VCM_LUT = load_LUT(VcmaxOptimalCiCa{FT}());
mask_LUT!(VCM_LUT, FT[0,Inf]);
VCM_LUT = regrid_LUT(VCM_LUT, Int(size(VCM_LUT.data,2)/180));
preview_data(VCM_LUT, 1)

Stand level datasets

Canopy height

CHT_LUT = load_LUT(CanopyHeightGLAS{FT}());
mask_LUT!(CHT_LUT, FT[0,Inf]);
CHT_LUT = regrid_LUT(CHT_LUT, Int(size(CHT_LUT.data,2)/180));
preview_data(CHT_LUT, 1)

Clumping index

# global clumping index
CLI_LUT = load_LUT(ClumpingIndexMODIS{FT}(), "12X", "1Y");
mask_LUT!(CLI_LUT, FT[0,1]);
CLI_LUT = regrid_LUT(CLI_LUT, Int(size(CLI_LUT.data,2)/180));
preview_data(CLI_LUT, 1, (0.4,1))
# global clumping index per PFT
CLI_LUT = load_LUT(ClumpingIndexPFT{FT}());
mask_LUT!(CLI_LUT, FT[0,1]);
CLI_LUT = regrid_LUT(CLI_LUT, Int(size(CLI_LUT.data,2)/180));
anim = @animate for i ∈ 1:size(CLI_LUT.data,3)
    preview_data(CLI_LUT, i, (0.4,1));
end
gif(anim, fps=1)

Gross primary productivity

# GPP MPI
anim = @animate for year ∈ 2001:2019, i ∈ 1:46
    GPP_LUT = load_LUT(GPPMPIv006{FT}(), year, "1X", "8D");
    mask_LUT!(GPP_LUT, FT[-100,Inf]);
    preview_data(GPP_LUT, i, (0,10));
end
gif(anim, fps=20)
# GPP VPM
anim = @animate for year ∈ 2000:2019, i ∈ 1:46
    @show year;
    GPP_LUT = load_LUT(GPPVPMv20{FT}(), year, "1X", "8D");
    mask_LUT!(GPP_LUT, FT[-100,Inf]);
    preview_data(GPP_LUT, i, (0,10));
end
gif(anim, fps=20)

Leaf area index

LAI_LUT = load_LUT(LAIMonthlyMean{FT}());
LAI_LUT = regrid_LUT(LAI_LUT, Int(size(LAI_LUT.data,2)/180));
anim = @animate for i ∈ 1:size(LAI_LUT.data,3)
    preview_data(LAI_LUT, i, (0,6));
end
gif(anim, fps=1)

Net primary productivity

NPP_LUT = load_LUT(NPPModis{FT}());
mask_LUT!(NPP_LUT, FT[-Inf,1e19]);
NPP_LUT = regrid_LUT(NPP_LUT, Int(size(NPP_LUT.data,2)/180));
NPP_LUT.data .*= 1e9;
preview_data(NPP_LUT, 1)

Sun induced fluorescence

SIF_LUT = load_LUT(SIFTropomi740{FT}(), 2018, "1X", "1M");
mask_LUT!(SIF_LUT, FT[-100,100]);
anim = @animate for i ∈ 1:12
    preview_data(SIF_LUT, i, (0,3.5));
end
gif(anim, fps=3)

Tree density

TDT_LUT = load_LUT(TreeDensity{FT}(), "12X", "1Y");
mask_LUT!(TDT_LUT, FT[0,Inf]);
TDT_LUT = regrid_LUT(TDT_LUT, Int(size(TDT_LUT.data,2)/180));
preview_data(TDT_LUT, 1, (0, 150000))

Wood density

TDT_LUT = load_LUT(WoodDensity{FT}());
mask_LUT!(TDT_LUT, FT[0,Inf]);
TDT_LUT = regrid_LUT(TDT_LUT, Int(size(TDT_LUT.data,2)/180));
preview_data(TDT_LUT, 1)

Land surface

Land elevation

ELE_LUT = load_LUT(LandElevation{FT}());
mask_LUT!(ELE_LUT, FT[0,Inf]);
ELE_LUT = regrid_LUT(ELE_LUT, Int(size(ELE_LUT.data,2)/180));
preview_data(ELE_LUT, 1)

Land mask

LMK_LUT = load_LUT(LandMaskERA5{FT}());
LMK_LUT = regrid_LUT(LMK_LUT, Int(size(LMK_LUT.data,2)/180));
preview_data(LMK_LUT, 1)

River flood plain height

FLD_LUT = load_LUT(FloodPlainHeight{FT}());
mask_LUT!(FLD_LUT, FT[0,Inf]);
FLD_LUT = regrid_LUT(FLD_LUT, Int(size(FLD_LUT.data,2)/180));
preview_data(FLD_LUT, 1)

River height

RVH_LUT = load_LUT(RiverHeight{FT}());
mask_LUT!(RVH_LUT, FT[0,Inf]);
RVH_LUT = regrid_LUT(RVH_LUT, Int(size(RVH_LUT.data,2)/180));
preview_data(RVH_LUT, 1)

River width

RVW_LUT = load_LUT(RiverWidth{FT}());
mask_LUT!(RVW_LUT, FT[0,Inf]);
RVW_LUT = regrid_LUT(RVW_LUT, Int(size(RVW_LUT.data,2)/180));
preview_data(RVW_LUT, 1)

River length

RVL_LUT = load_LUT(RiverLength{FT}());
mask_LUT!(RVL_LUT, FT[0,Inf]);
RVL_LUT = regrid_LUT(RVL_LUT, Int(size(RVL_LUT.data,2)/180));
preview_data(RVL_LUT, 1)

River manning coefficient

RVM_LUT = load_LUT(LandMaskERA5{FT}());
RVM_LUT = regrid_LUT(RVM_LUT, Int(size(RVM_LUT.data,2)/180));
preview_data(RVM_LUT, 1)

River unit catchment area

UCA_LUT = load_LUT(UnitCatchmentArea{FT}());
UCA_LUT = regrid_LUT(UCA_LUT, Int(size(UCA_LUT.data,2)/180));
preview_data(UCA_LUT, 1)

This page was generated using Literate.jl.